A dialog process is a computer program, script, or any other set of instructions that, when executed by a computer device, simulate conversation with human users. Through these simulated conversations, a dialog process provides a wide range of automated assistance to users. A dialog process is often implemented by a state machine or graph process having multiple node states. Each state solicits one or more inputs from a user, and, depending on the input, traverses to another node state or takes a particular action.
Dialog processes, which may also be referred to as “chatbots,” are widely used as part of messaging platforms, entertainment websites, and for customer service. Often a dialog process developer may desire that a user be taken to a particular node state of the dialog process. For example, assume a developer that has written a chatbot that helps users plan their travel has added to the chat bot a new functionality that helps users compare hotel room bookings. The developer would like to expose users to this functionality. However, to do so, users must traverse one or more chatbot states from an initial state to be exposed to the new functionality. Thus, unless users are directed to manually enter the necessary responses to reach the particular node state at which the new functionality will be exposed (and then follow the directions and actually manually enter necessary responses), or unless the developer creates a new chatbot that emphasizes the new functionality (which increases the customer's code base and risks losing users), many of the users will not be exposed to the new functionality.